Improve experience#3
Merged
Merged
Conversation
launcher="resident" brings agent sessions up detached, forcing a manual
tmux attach -t hunt per agent. Conductor now defaults watch=True for that
launcher: a background SessionWatcher polls for h5i-orch-<run>-<agent>
sessions and surfaces each as it appears — linked window when already
inside tmux, Windows Terminal tab on WSL, GUI terminal on a display, or a
printed attach hint headless. watch=False disables; a string (or
$H5I_TERMINAL) is a custom command template with {session}. Viewer
failures degrade to the hint and never fail the score.
Every resident-launcher score now narrates session status on stderr: a watch-start line naming the viewer that will open, per-agent 'session up' lines that always include the manual tmux attach command, 'session ended' lines when an agent's tmux session goes away, and an explicit notice when tmux is missing entirely.
…r dies Agent.work/ask/review/revise now tell the session watcher a turn is in flight (resident launcher only). The watcher warns once if the agent's session hasn't appeared within a grace period (default 15s) or ended while the turn is still pending — both point at 'h5i env shell <env> -- true' to diagnose — instead of the score hanging with no output. This is the SDK-side complement to h5i's new fail-closed env checks in hire and LaunchResident.
Agents' first turns are gathered, so their tmux sessions surface in the same watcher poll and the viewers spawned back-to-back — Windows Terminal drops tabs dispatched near-simultaneously, leaving only one agent visible. The watcher now waits for each viewer command to finish dispatching (up to 2s; long-lived terminals keep reaping in the background), treats a fast non-zero exit as a failed viewer (degrading to the printed attach hint), and pauses spawn_gap (0.5s) between opens in one batch.
Conductor(isolation=...) sets the run's default sandbox tier: every hire inherits it unless it passes its own (or 'auto' to re-enable auto-picking). Explicit tiers are fail-closed on hosts that cannot enforce them — never silently downgraded. Every example now pins isolation="supervised" so hired agents run seccomp-gated and network-jailed instead of whatever tier the host auto-picks; arena and ensemble also assert the floor across the roster with preflight(min_isolation="supervised"), which catches resumed runs whose envs predate the tier.
…cksort demo All eight examples now accept the task as an optional CLI argument and fall back to the same demo task, 'implement quicksort with pytest', so a bare invocation always works. The previously hard-coded h5i-specific tasks (judge_panel, tournament, pipeline, debate, custom_control_flow) are parameterized: pipeline's architect designs the given task, debate derives its question from it (simplest-vs-robust), and custom_control_flow decomposes it into subtasks instead of triaging test hotspots. Verify commands switch from 'cargo test --quiet' to 'pytest -q' to match the demo task (submissions carry their own tests); the README notes to change verify= when passing a task from another ecosystem.
Conductor.hire grows an effort= param (recorded on the roster seat; codex sessions launch with -c model_reasoning_effort=<effort>, overriding the box's config.toml). Every codex hire in the examples pins effort="medium" so a user-level 'high' default doesn't slow the demos down; claude seats stay effort-free since that adapter has no effort knob and fails closed.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
No description provided.